package com.xinsoft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xinsoft.entity.dto.SysNoticeSetDTO;
import com.xinsoft.entity.dto.SysNoticeSetPageParam;
import com.xinsoft.entity.po.SysAction;
import com.xinsoft.entity.po.SysNoticeSet;

import java.util.List;

/**
* @author hsm
* @description 针对表【sys_notice_set(通知设置表)】的数据库操作Service
* @createDate 2023-05-30 16:18:10
*/
public interface SysNoticeSetService extends IService<SysNoticeSet> {

    /**
     * 方法描述: [保存通知设置分页列表]
     * 初始作者: hsm
     * 创建时间:  2023
     * 开始版本:
     * =================================================
     * 修改记录：
     * 修改作者 日期 修改内容>
     * ================================================
     * param [sysNoticeSetParam]
     * return SysNoticeSetVo>
     */
    SysNoticeSet addNoticeSet(SysNoticeSetDTO sysNoticeSetDTO);

    /**
     * 方法描述: [编辑设置分页列表]
     * 初始作者: hsm
     * 创建时间:  2023
     * 开始版本:
     * =================================================
     * 修改记录：
     * 修改作者 日期 修改内容>
     * ================================================
     * param [sysNoticeSetParam]
     * return SysNoticeSetVo>
     */
    SysNoticeSet editNoticeSet(SysNoticeSetDTO sysNoticeSetDTO);



    /**
     * 方法描述: [查询通知设置分页列表]
     * 初始作者: hsm
     * 创建时间:  2023
     * 开始版本:
     * =================================================
     * 修改记录：
     * 修改作者 日期 修改内容>
     * ================================================
     * param [sysNoticeSetParam]
     * return SysNoticeSetVo>
     */
    IPage<SysNoticeSetDTO> findPageListByParam(SysNoticeSetPageParam param);

    /**
     * 方法描述: [删除通知设置信息]
     * 初始作者: hsm
     * 创建时间:  2023
     * 开始版本:
     * =================================================
     * 修改记录：
     * 修改作者 日期 修改内容>
     * ================================================
     * param [userName]
     * return java.lang.Boolean
     */
    void del(List<Integer> ids);

    /**
     * 方法描述: [获取通知设置]
     * 初始作者: hsm
     * 创建时间:  2023/04/20
     * 开始版本:
     * =================================================
     * 修改记录：
     * 修改作者 日期 修改内容>
     * ================================================
     * param [sysNoticeSet]
     * return com.socks.zhhc.core.system.user.entity.SysNoticeSet
     */
    SysNoticeSetDTO getSysNoticeSet(Integer id);

    /**
     * 方法描述: [通过actionid获取通知设置]
     * 初始作者: hsm
     * 创建时间:  2023/04/20
     * 开始版本:
     * =================================================
     * 修改记录：
     * 修改作者 日期 修改内容>
     * ================================================
     * param [sysNoticeSet]
     * return com.socks.zhhc.core.system.user.entity.SysNoticeSet
     */
    List<SysNoticeSetDTO> getSysNoticeSetByActionId(Integer actionId);

    List<SysAction> getNodeActionList(String actionName);

    List<SysAction> getCustomActionList(String actionName);
}
